import 'dart:typed_data';

// 消息基类
abstract class MessageBase {
  // 用来标识msg的唯一性
  static int _msgId = 1;

  // 获取msgId
  int get msgId => _msgId;

  // 递增msgId
  void upMsgId() {
    if (_msgId >= 0xFFFFFFF) {
      _msgId = 1;
    } else {
      _msgId++;
    }
  }

  // 消息唯一标识
  String msgIdentify();

  // 消息转数组
  Uint8List toBytes();

  // 消息总长度
  int totalLength();

  // 消息效验结果
  bool checkResult();
}
